Waveform for use in mobile ad hoc networks

ABSTRACT

A waveform and related devices and methods are disclosed for dynamic use of an air interface in a mobile ad hoc network. The waveform includes a dual preamble sequence enclosing self-discovery data that characterizes modulation for a subsequent data signal. The preamble is designed so that the circular correlation of the preamble sequence with itself is an impulse, and the first preamble sequence is a complex conjugate of the second preamble sequence. The preamble sequence can be used to bound a data packet on both sides so that detection of the impulse yields a window in which a data packet can be located, while the self discovery data provides information to extract the data signal from the wireless waveform. In one aspect, the preamble may be implemented using a CHIRP sequence that is a perfect square for more efficient implementation in a wireless modem. In addition, CHIRP sequences for different nodes can be generated with low cross-correlation to reduce interference among nodes in the MANET. The preamble may also support channel sounding or equalization to reverse amplitude or phase distortion in a channel.

RELATED APPLICATIONS

This application is a national stage filing under U.S.C. §371 of published International Application No. PCT/US09/56126 filed on Sep. 4, 2009, which is incorporated herein by reference in its entirety. International application PCT/US09/56126 was published in English as Publication No. WO 2010/028307.

International Application No. PCT/US09/56126 claims priority to the following U.S. Provisional Patent Applications: U.S. application Ser. No. 61/094,394 filed Sep. 4, 2008; U.S. application Ser. No. 61/094,546 filed Sep. 5, 2008; U.S. application Ser. No. 61/118,232 filed Nov. 26, 2008; U.S. application Ser. No. 61/094,584 filed Sep. 5, 2008; U.S. application Ser. No. 61/094,591 filed Sep. 5, 2008; U.S. application Ser. No. 61/094,594 filed Sep. 5, 2008; U.S. App. No. 61/094,611 filed Sep. 5, 2008; U.S. application Ser. No. 61/095,298 filed Sep. 8, 2008; U.S. application Ser. No. 61/095,310 filed Sep. 9, 2008; U.S. application Ser. No. 61/103,106 filed Oct. 6, 2008; U.S. application Ser. No. 61/111,384 filed Nov. 5, 2008; U.S. application Ser. No. 61/112,131 filed Nov 6, 2008; and U.S. application Ser. No. 61/121,169 filed Dec. 9, 2008.

International Application No. PCT/US09/56126 also claims priority to U.S. Application No. 12/418,363 filed on Apr. 3, 2009.

The following applications are also related to this disclosure: U.S. application Ser. No. 61/042,431 filed on Apr. 4, 2008; U.S. application Ser. No. 51/042,442 filed on Apr. 4, 2008, U.S. application Ser. No. 61/074,930 filed on Jun. 23, 2008; U.S. application Ser. No. 61/082,618 filed on Jul. 22, 2008; U.S. App. No. 61/082,642 filed on Jul. 22, 2008; U.S. application Ser. No. 61/084,738 filed on Jul. 30, 2008; U.S. application Ser. No. 61/084,773 filed on Jul. 30, 2008 and U.S. application Ser. No. 61/086,242 filed on Aug. 5, 2008. Where permitted by law, priority is further claimed to each of these applications, either directly or through U.S. application Ser. No. 12/418,363 which claimed priority to each of the foregoing.

Each of the foregoing applications is incorporated herein by reference in its entirety.

BACKGROUND

A mobile ad hoc network (“MANET”) may include any number of mobile devices or “nodes” in wireless communication with one another. An ad hoc network generally does not use any centralized management, with nodes operating autonomously to establish neighborhoods and communication links among nodes. Where these nodes include the capability to adapt signal characteristics to radio frequency conditions, there remains a need for improved techniques to permit communication of autonomously selected signal characteristics to receiving nodes.

SUMMARY

A waveform and related devices and methods are disclosed for dynamic use of an air interface in a mobile ad hoc network. The waveform includes a dual preamble sequence enclosing self-discovery data that characterizes modulation for a subsequent data signal. The preamble is designed so that the circular correlation of the preamble sequence with itself is an impulse, and the first preamble sequence is a complex conjugate of the second preamble sequence. The preamble sequence can be used to bound a data packet on both sides so that detection of the impulse yields a window in which a data packet can be located, while the self discovery data provides information to extract the data signal from the wireless waveform. In one aspect, the preamble may be implemented using a CHIRP sequence that is a perfect square for more efficient implementation in a wireless modem. In addition, CHIRP sequences for different nodes can be generated with low cross-correlation to reduce interference among nodes in the MANET. The preamble may also support channel sounding or equalization to reverse amplitude or phase distortion in a channel.

Various methods, techniques, apparatus and the like are described to facilitate waveform usage in mobile ad hoc networks. In embodiments, a method is disclosed herein of communicating from a node in a mobile ad hoc network comprising: identifying a preamble sequence that corresponds to the node, wherein the preamble sequence is constructed to be orthogonal to other preamble sequences corresponding to other nodes of the mobile ad hoc network, wherein the preamble sequence has an ideal auto-correlation property, and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; identifying self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to a second node; and transmitting the preamble sequence followed by the self-discovery data to the second node in an initial transmission. The signal characteristic may include one or more of a signal format characteristic, a network characteristic, and a content characteristic. In some embodiments, the method may further comprise transmitting a second preamble sequence to the second node after transmitting the self-discovery data and before transmitting the data signal. The second preamble sequence may be a complex conjugate of the preamble sequence. In some embodiments the method may further comprise transmitting the data signal after the initial transmission. The preamble sequence may be orthogonal to the data signal. In some embodiments, the method may further comprise transmitting the preamble sequence at a higher power level than the data signal. The initial transmission may include a guard time block and an automatic gain control block. The initial transmission may consist of a plurality of guard time blocks, a plurality of automatic gain control blocks, the preamble sequence, the self-discovery data, and a second preamble sequence. In some embodiments, the method may further comprise transmitting the initial transmission and the data signal on a first frequency segment; transmitting a second initial transmission including a second preamble sequence and second self-discovery data and a second data signal, wherein the second initial transmission and second data signal are each transmitted on a second frequency segment, and wherein both the self-discovery data and the second self-discovery data include instructions for combining the data signal and the second data signal. The preamble sequence may include a generalized chirp-like sequence. The generalized chirp-like sequence may be of the form: S_(u)(k)=exp[−i 2πu k(k+1)/2N_(G)] when k is odd, and S_(u)(k)=exp[−i 2πu k²/2N_(G)] when k is even, where i²=−1, and u, N_(G) are integers and k is odd, and u and N_(G) are coprime. N_(G) may be a perfect square.

In embodiments, a method of communicating from a node in a mobile ad hoc network is disclosed comprising: identifying a preamble sequence that is used at a plurality of nodes of the mobile ad hoc network, wherein the preamble sequence is constructed to be orthogonal to any time-shifted copy of itself, wherein the preamble sequence has an ideal auto-correlation property, and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; identifying self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to one of the plurality of nodes; and transmitting the preamble sequence followed by the self-discovery data in an initial transmission.

In embodiments, a method of receiving a wireless communication is disclosed comprising: receiving an initial transmission at a node in a mobile ad hoc network, the initial transmission including a preamble sequence corresponding to a second node in the mobile ad hoc network, wherein the preamble sequence is constructed to be orthogonal to other preamble sequences that correspond to other nodes of the mobile ad hoc network; wherein the preamble sequence has an ideal auto-correlation property; and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence, the initial transmission further including self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to the node; and based on the signal characteristic, receiving the data signal. In some embodiments, the method may further comprise using the preamble sequence for a channel equalization. The channel equalization may include estimating a channel impulse response. The channel equalization may include computing equalization coefficients. In some embodiments, the method may further comprise detecting packets based upon the preamble sequence. In some embodiments, the method may further comprise channel sounding with the preamble sequence. Channel sounding may decouple from the data signal.

In embodiments, a computer readable medium may bear instructions that, when executed, cause a processor in a mobile ad hoc network to: identify a preamble sequence that: corresponds to a first node in the mobile ad hoc network; is constructed to be orthogonal to other preamble sequences corresponding to other nodes of the mobile ad hoc network; has an ideal auto-correlation property; is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; identify self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to a second node in the mobile ad hoc network; and transmit the preamble sequence followed by the self-discovery data to the second node in an initial transmission. The signal characteristic may be selected from the group consisting of: signal format characteristics, network characteristics, and content characteristics. The instructions may also include instructions for transmitting a second preamble sequence to the second node after transmit the self-discovery data. The second preamble sequence may be equal to the complex conjugate of the preamble sequence. The instructions may also include instructions for transmitting the data signal after the initial transmission. The preamble may be orthogonal to the data signal. The preamble may be transmitted at a higher power level than the data signal. The initial transmission may include a guard time block, an automatic gain control block, self-discovery data, and the preamble. The initial transmission may consist of a plurality of a guard time blocks, automatic gain control blocks, self-discovery data, and the preamble. The initial transmission and the data signal may be transmitted on a first frequency segment, the method further comprising transmit a second initial transmission including a second preamble sequence and second self-discovery data and a second data signal, wherein the second initial transmission and second data signal are each transmitted on a second frequency segment, and wherein both the self-discovery data and the second self-discovery data include instructions for combining the data signal and the second data signal.

In embodiments, a computer readable medium bearing instructions is disclosed that, when executed, may cause a processor in a mobile ad hoc network to: identify a preamble sequence that: is used at every node of the mobile ad hoc network; is constructed to be orthogonal to any time-shifted copy of itself; has the ideal auto-correlation property; and is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; and identify self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to a second node in the mobile ad hoc network; and transmit the preamble sequence followed by the self-discovery data to the second node in an initial transmission.

In embodiments, a computer readable medium bearing instructions is disclosed that, when executed, may cause a processor in a mobile ad hoc network to: receive, in an initial transmission from a first node in a mobile ad hoc network: a preamble sequence that: corresponds to the first node of the mobile ad hoc network; is constructed to be orthogonal to other preamble sequences that correspond to other nodes of the mobile ad hoc network; has the ideal auto-correlation property; is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; and self-discovery data that encodes a signal characteristic with which a data signal will be transmitted from a second node in a mobile ad hoc network; and based on the signal characteristic, receive the data signal. The instructions may also include instructions for using the preamble for channel equalization. The instructions may also include instructions for using the preamble for packet detection. The instructions may also include instructions for using the preamble for channel sounding.

In embodiments, a node in a mobile ad hoc network is disclosed, comprising: a data source; a radio; and a processor configured to: receive a data signal from the data source; provide a preamble sequence, wherein the preamble sequence corresponds to the node of the mobile ad hoc network; wherein the preamble sequence is constructed to be orthogonal to other preamble sequences corresponding to other nodes of the mobile ad hoc network; wherein the preamble sequence has an ideal auto-correlation property; and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; provide self-discovery data wherein the self-discovery data encodes a signal characteristic; transmit the preamble sequence and the self-discovery data; and modulate the data signal according to the signal characteristic to provide a modulated data signal; and transmit the modulated data signal. The signal characteristic may include one or more of a signal format characteristic, a network characteristic, and a content characteristic. The processor may includes an integrated circuit. The integrated circuit may be configured to operate in a time-division duplexed state. The processor may include an application-specific integrated circuit. The signal characteristic may be selected from the group consisting of: signal format characteristics, network characteristics, and content characteristics. The processor may be further configured to transmit a second preamble sequence to the second node after transmitting the self-discovery data. The second preamble sequence may be equal to the complex conjugate of the preamble sequence. The processor may be further configured to transmit the data signal after the initial transmission. The preamble may be orthogonal to the data signal. The preamble may be transmitted at a higher power level than the data signal. The initial transmission may include a guard time block, an automatic gain control block, self-discovery data, and the preamble. The initial transmission may consist of a plurality of a guard time blocks, automatic gain control blocks, self-discovery data, and the preamble. The initial transmission and the data signal may be transmitted on a first frequency segment, the method further comprising transmitting a second initial transmission including a second preamble sequence and second self-discovery data and a second data signal, wherein the second initial transmission and second data signal are each transmitted on a second frequency segment, and wherein both the self-discovery data and the second self-discovery data include instructions for combining the data signal and the second data signal.

In embodiments, a node in a mobile ad hoc network is disclosed comprising: a radio; and a processor configured to: receive an initial transmission from the radio; demodulate the initial transmission, thereby creating encoded data; identify a preamble sequence in the encoded data, wherein the preamble sequence corresponds to a sending node in the mobile ad hoc network, wherein the preamble sequence is constructed to be orthogonal to other preamble sequences corresponding to other nodes of the mobile ad hoc network; wherein the preamble sequence has an ideal auto-correlation property; and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; identify self-discovery data in the encoded data, the self-discovery data indicating a signal characteristic for a data signal in a second transmission; receive the second transmission; and demodulate a data signal from the second transmission according to the signal characteristic. The processor may include an integrated circuit. The integrated circuit may be configured to operate in a time-division duplexed state. The integrated circuit may be configured to modulate the encoded data, thereby creating modulated data, and cause the radio to transmit the modulated data to the second node of the mobile ad hoc wireless network. The integrated circuit may include an application-specific integrated circuit. The processor may be further configured to use the preamble for channel equalization. The processor may be further configured to estimate a channel impulse response. The processor may be further configured to compute equalization coefficients. The processor may be further configured to use the preamble for packet detection. The processor may be further configured to use the preamble for channel sounding.

Other aspects include other combinations of the features recited above and other features, expressed as methods, apparatus, systems, program products, and in other ways. Various features, aspects, and advantages of various embodiments will become more apparent from the following further description.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention and the following detailed description of certain some embodiments thereof may be understood by reference to the following figures wherein:

FIG. 1 is a block diagram of a Mobile Ad Hoc Network (MANET).

FIG. 2 is a block diagram of a node in a wireless ad hoc network.

FIG. 3 shows a transmission packet for communicating in a wireless network including an overhead block and an FEC block.

FIG. 4 shows an overhead block.

FIG. 5 shows an FEC block.

FIG. 6 is a flowchart for transmitting data from a node in a MANET.

FIG. 7 is a flowchart for receiving data at a node in a MANET

DETAILED DESCRIPTION

FIG. 1 shows a Mobile Ad Hoc Network (MANET). In general, a MANET 100 (also referred to generally herein as a network 100) may include any combination of subscriber devices 110, access points 120, and backhaul access points 130 (for coupling to a core network 150 such as the Internet), all generally interconnected to one another as shown for example in FIG. 1. A network 100 need not include access points 120, backhaul access points 130, or be coupled to a core network 150. In general, any of the devices on the network 100 may be mobile, although commonly only the subscriber devices 110 are mobile. It will be understood that the device-to-device links illustrated in FIG. 1 are for purposes of illustration only, and in no way are intended to limit the nature or number of links between devices in the network 100. Such links may be created, removed, and/or modified over time according to any available protocol(s) followed by any of the devices within the network 100. In general, the links among devices or components within the network 100 are wireless links, although wired links may optionally be employed in various locations such as between the backhaul access point 130 and the core networks 150. In order to maintain the network 100, typically one or more protocols are shared among the participating devices to control creation, removal, and modification of individual data links between devices, and to route traffic and control information among the devices. The term protocol as used herein generally refers to any and all such rules, procedures, and/or algorithms used in maintaining the network 100, unless a specific protocol is explicitly stated or otherwise clear from the context.

Subscriber devices 110 may include any general purpose nodes participating in the network 100 according to suitable protocols. Subscriber devices 110 may, for example, include terminal nodes that send or receive data. Subscriber devices 110 may also or instead suitably be employed as intermediate nodes to route traffic to and from other subscriber devices 110. Thus an ad hoc network as described herein is generally extensible, and as new subscriber devices 110 appear within the network 100, they may form a part of the network fabric that routes traffic among other nodes.

A new subscriber device 112 may be introduced to the network 100 with new links 114 being added as the new subscriber device 112 is detected. Devices may also periodically leave the network 100 such as a departing subscriber device 116. As the departing subscriber device 116 leaves the network, links 118 between the departing subscriber device 116 and other subscriber devices 110, access points 122, stationary devices 170, backhaul access points 130, and/or other devices may be severed. This may occur, for example when a device moves beyond geographical boundaries of the network 100, when devices in the network are turned off (or their wireless or networking capabilities are suspended), or when a hardware or software malfunction occurs. The network 100 may detect new and/or departing devices and/or links in order to maintain substantially continuous connectivity for devices in the network 100. Such detection may occur in either a centralized manner or a distributed manner.

In general, a subscriber device 110 may include any network or computing device that includes a network interface (e.g., a wireless interface), network protocol stack(s), and the like adapted to participate in the network 100. The Internet Protocol (“IP”) may usefully be employed in subscriber devices 110 within the network 100 in order to use well-established addressing schemes and the like. A subscriber device 110 may include without limitation a cellular phone, personal digital assistant, wireless electronic mail client, laptop computer, palmtop computer, desktop computer, video device, digital camera, electrical instrument, sensor, detector, display, media player, navigation device, smart phone, wireless networking card, wireless router (e.g., for a local WiFi network), storage device, printer, or any other device that might usefully participate in a network. In some embodiments subscriber devices may include a GPS receiver providing a position and timing reference. In some embodiments, each subscriber device 110 may be authenticated and/or authorized before being granted access to the network 100.

Access points 120 may be provided to establish a permanent or otherwise generally stable infrastructure to the network 100. An access point 120 may be fixed in location or may be limited in the amount that it can move. One or more of the access points 120 may be mobile access points 122 that can freely move within the network 100. The access points 120 may employ identical network functionality and protocol stacks as the subscriber devices 110 described above. The access points 120 may also or instead encapsulate different functionality consistent with a more specialized role in the network 100. In one aspect, the access points 120 may have no associated computing device that originates or consumes network traffic. That is, the access points 120 may simply form a mesh of participants in the network 100 and relay traffic among other network participants. An access point 120 may also include a physical connection to a power infrastructure so that it may be physically installed at a location and operate autonomously without requiring regular maintenance for battery changes and the like. In another aspect, access points 120 may include some minimal supplemental circuitry related to, e.g., status and diagnostics, or for receiving software updates and the like. By arranging a spanning network of access points 120 network continuity may be improved in areas where subscriber devices 110 are not present or are not expected to be present with any regularity. In some embodiments an access point 120 may be of a size and weight making it suitable for mounting and/or concealment in a variety of locations including indoor and outdoor locations, and including mounting on walls, floors, ground, ceilings, roofs, utility poles, and so forth.

Each access point 120 may include or utilize a timing reference such as any of the Network Timing Protocols described in RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 1361, RFC 1769, RFC 2030, and RFC 4330, all published by The Internet Engineering Task Force. Each access point may also, or instead, include a GPS receiver providing a position and timing reference, or any other open or proprietary timing system may be employed.

In some embodiments, the access points 120 may have a greater transmit power and/or a greater antenna gain than mobile subscriber devices 110, thus providing greater physical coverage than some other devices within the network 100.

The network 100 may include one or more backhaul access points 130 that generally operate to connect nodes within the network 100 to a core network 150 such as the Internet. A core network 150 may be a fixed network or may be an infrastructure network. On one interface, a backhaul access point 130 may have a wireless radio interface, protocol stack(s) and other components of other nodes within the network 100. On another interface, the backhaul access point 130 may provide any suitable interface to the core network 150. The backhaul access point 130 may, for example, be deployed at a fiber access point or the like that provides high-speed data capacity for Internet traffic or the like. For example and without limitation, the fiber access point may include a Gig-E router site or an OC-3/12 add-drop multiplexer site. In an embodiment the backhaul access point 130 may include two Gig-E interfaces for backhaul connections. It will be understood that any number and variety of suitable interfaces for backhaul connections may be usefully employed with a backhaul access point 130 as described herein.

A backhaul access point 130 may serve multiple access points 120 within the network 100, and may distribute network load across those access points. Alternatively, a single backhaul access point 130 may serve a single access point 120. The number of access points 120 served by a backhaul access point 130 may depend on various factors such as the amount of intra-MANET traffic and extra-MANET traffic, the nature and direction of multicast versus unicast data, and so forth. This association between backhaul access points 130 and access points 120 may change from time to time depending on the presence of other subscriber devices 110 within the area, network conditions, network traffic demands, and so forth. In some cases or under some operating conditions, an access point 120 may be associated with more than one backhaul access point 130.

An edge router 160 may be included between the core network 150 and one or more backhaul access points 130. The edge router 160 may facilitate routing between the network 100 and the core networks 150. The core networks 150 may be connected through an edge router 160 to a backhaul access point 130 or may be directly connected to a backhaul access point 130 without going through the edge router 160. More than one edge router 160 may be used to contact multiple backhaul access points 130. In some embodiments one edge router may contact multiple backhaul access points 130. The edge router 160 may include any devices or systems for maintaining connectivity between the network 100 and the core networks 150, and may further support or enhance network activity within the network 100. For example, the edge router 160 may include an industry standard and/or proprietary Address Resolution Protocol server, an application server, a Virtual Private Network server, a Network Address Translation server, a firewall, a Domain Name System server, a Dynamic Host Configuration Protocol server, and/or an Operations, Administration, Maintenance and Provisioning server, and the like, as well as any combination of the foregoing. These various components may be integrated into the edge router 160, or may be provided as separate (physical and/or logical) systems that support operation of the edge router 160. These supporting systems may in general support operations such as broadband Internet connectivity within the network 100, broadcast communications crossing between the network 100 and the core networks 150, and so forth, as well as the use of multiple backhaul access points 130 to efficiently route inter-MANET (and/or intra-MANET) traffic among subscriber devices 110.

The core networks 150 may include any network resources outside the network 100. As shown in FIG. 1, there may be any number of different core networks, which may for example include a second core network 152 connected to the network 100 through a backhaul access point 130. The second core network 152 may be wholly independent from the core network 150, or may connect to the core network 150 through a fixed or other type of network. The core networks 150 may connect disparate, geographically remote and/or local instances of the network 100 to form a single network. The core networks 150 may include any and all forms of IP networks, including LANs, MANs, WANs, and so on. The core networks 150 may also or instead include the public Internet, the Public Switched Telephone Network, a cellular communications network, or any other network or combination of networks for data traffic, voice traffic, media broadcasting, and so forth. In other embodiments the core networks 150 may consist exclusively of a single zone of administrative control, or a number of zones of administrative control, or some combination of an administrative zone and any of the foregoing.

The stationary device 170 may include any subscriber device 110 that, for whatever reason, does not physically move within the network 100. In general, such fixed physical points within the network 100 may provide useful routing alternatives for traffic that can be exploited for load balancing, redundancy, and so forth. This may include, for example, a fixed desktop computer within the network 100.

Communication within the network 100 may be accomplished via protocols, referred to collectively herein as the MANET Wireless Protocol (MWP). In general, any of the nodes above that participate in the network 100 according to the MWP may include a hardware platform enabling radio software and firmware upgrades, which may include for example a dedicated or general purpose computing device, memory, digital signal processors, radio-frequency components, an antenna, and any other suitable hardware and/or software suitable for implementing the MWP in participating nodes.

In some embodiments, any of the foregoing devices such as one of the access points 120 may also include an adapter for other networks such as an Ethernet network adapter or equivalent IP network adapter, router, and the like, so that non-MANET equipment can participate in the network 100 through the device. It will also be appreciated that, while connections to core networks 150, 152 are shown, this connection is optional. A network 100 (with or without access points 120) may be maintained independently without connections to any other networks, and may be usefully employed for the sole purpose of trafficking data among subscriber devices 110.

FIG. 2 is a block diagram of a node in a wireless ad hoc network such as the MANET described above. The node may be any of the devices described above, such as a subscriber device, access point, or backhaul access point. In general the node 200 may include data sources 202, a data link 204, a signal processor 206, a radio 208, data queues 210, routing information 212, and neighborhood information 214. It will be understood that the following description is general in nature, and that numerous arrangements of processing, storage, and radio frequency hardware may be suitably employed to similar affect. This description is intended to outline certain operations of a MANET node relevant to the systems and methods described herein, and in no way limits the invention to the specific architecture shown in FIG. 2.

The data sources 202 may include any applications or other hardware and/or software associated with the node 200. This may include, for example, programs running on a laptop or other portable computing device, a web server or client, a multimedia input and/or output sources such as a digital camera or video, and so forth. More generally any device, sensor, detector, or the like that might send or receive data may operate as a data source 202 in the node 200. It will be further understood that some nodes such as access points 104 may not have independent data sources 202, and may function exclusively as MANET 100 network elements that relay data among other nodes and/or provide network stability as generally described above.

The data link 204 may include hardware and/or software implementing data link layer functionality such as neighbor management, segmentation and reassembly of data packets, Quality of Service (QoS) management, data queue servicing, channel access, adaptive data rates, and any other suitable data link functions. In general, the data link 204 controls participation of the data sources 202, and more generally the node 200, in a MANET. It will be understood that the data link 204 in FIG. 2 may implement any number of lower layer (e.g., physical layer) or higher layer (e.g., routing, transport, session, presentation, application) protocols from a conventional Open Systems Interconnection (OSI) Model, or any such protocols and related functions may be implemented elsewhere within the node 200, such as in an IP stack executing on the data source 202, or in firmware within the signal processor 206 or radio 208, or in additional functional blocks not depicted in FIG. 2. For example, routing protocols may be implemented within hardware/software of the data link 204 in order to ensure that nodes in the MANET 100 share appropriate routing functions. Thus it will be appreciated that while the certain elements discussed herein might suitably be placed within the data link layer of a formal protocol stack, the systems and methods of this disclosure might also or instead be implemented with variations to a conventional protocol stack, or without any formal protocol stack whatsoever.

The data link 204 may include a link manager that collects neighbor information from the data link layer, and may form and maintain the neighborhood information 214 for the node 200. This table may be used to establish routes to neighbors, and may be updated periodically with information from one and two hop neighbors as described further below. The link manager may monitor statistics on all active links for a node on a link-by-link basis in order to support link quality calculations and other functions described herein. The term metadata is used herein to generally refer to the neighborhood information 214 for the node 200 or any other information characterized one or more nodes, data links, or other network characteristics that might be shared among nodes to describe the network in which nodes are participating and communicating. In general, the metadata includes at least one item of metadata, although any number of metadata items might be usefully employed according to the number of nodes in a neighborhood and the amount of information to be exchanged among nodes.

The signal processor 206 may include any signal processing circuitry, microprocessor or other processor, and generally provides waveform processing, timing functions, and other control and processing operations associated with transceiving data at the node 200. This may include, for example, network timing, time-slot and/or frame-based waveform configuration, maintenance of one or more families of Orthogonal Frequency Division Multiplexing waveform modes (or other transmit mode waveforms), receiver detection of waveform modes, error correction coding, and so forth. In general, the signal processor 206 may be implemented in any suitable combination of digital signal processors, field programmable gate arrays, application-specific integrated circuits, microprocessors, or other general or special-purpose computing devices, as well as combinations of the foregoing, all of which are referred to as a processor herein.

In general, the signal processor 206, data link 204, and data sources 202, may be realized as any one or more processors or other programmable devices described herein, and a processor is intended to refer generally to any and all of the foregoing unless a different meaning is explicitly provided or otherwise clear from the context. Such a processor, may, for example, be programmed to implement the waveform-related inventions described below, and to coordinate data sources, memory, a radio the like in performing any related methods.

In one embodiment, a family of Orthogonal Frequency Division Multiplexing (OFDM) waveforms may be employed for adaptive data rate communications. The modes of the OFDM waveforms may, for example, include 7.2 MHz Quadrature Phase-Shift Keying (QPSK), 4.8 MHz QPSK, 2.4 MHz QPSK, 1.2 MHz QPSK, 1.2 MHz Binary Phase-Shift Keying (BPSK), or the like. The effective data rate for transmit waveforms may be affected by other parameters such as error correction. In order to facilitate implementation of an adaptive rate system, the transmit modes may be organized into an ordered list of monotonically increasing data rates matched to correspondingly decreasing signal robustness, thus permitting unique mapping of link quality to transmit mode. In one aspect, the actual waveform mode selected to transmit data on a link may be adaptively selected according to any suitable evaluation of link quality for links to neighboring nodes.

The radio 208 in general operates to transmit data from the data queue(s) 210, as organized and encoded by the data link 204 and the signal processor 206 (along with any control information, packet header information, and so forth), over a wireless air interface to other nodes in a MANET, and to perform complementary data reception. The radio 208 may include any radio frequency analog circuitry and the like, and may be coupled to the signal processor 206 which converts data and control information between a digital representation used within the node 200, and an analog representation used in radio frequency communications with other nodes. In embodiments, a low power radio 208 may be employed, such as where the node 200 is a battery-powered mobile device. In other embodiments, a high-power radio 208 may be employed, such as where the node 200 is an access point or backhaul access point connected to a fixed power infrastructure. In an embodiment, the radio 208 and signal processor 206 provide adaptive data rate coding capable of changing transmit modes, error correction, and the like according to measured link quality.

In one aspect, where the node 200 operates in a half-duplex (or other time-division duplex) state, a single radio 208 (or single tuner or heterodyne within the radio) may be usefully employed for both transmit and receive functions. Thus the “processor” described herein may include an integrated circuit that operates in a time-division duplex state to share resources between transmit and receive hardware.

The data queue(s) 210 may include any data for transmission from the node 200. This may include, for example, data from the data sources 202, data that is relayed by the node 200 from other nodes in the MANET, and/or control information scheduled for transmission within data packets from the node 200. The data queue(s) 210 may be organized in any suitable fashion, and may include a single first-in-first-out queue, multiple queues, prioritized queues, and the like. In one embodiment, the node 200 may include multiple prioritized queues to assist in providing various service levels, such as for QoS traffic. In general, data in the data queue(s) 210 is delivered according to any suitable queuing mechanism to the data link 204, signal processor 206, and radio 208 for transmission within the MANET.

Routing information 212 such as a routing or forwarding table may be provided to support routing functions by the node 200. In general, this may include, for example, a destination address or identifier, a cost of a path to the destination (using any suitably cost calculation), and a next hop on that path. Other information such as quality of service and other metrics for various routes and links may also be provided for more refined routing decisions.

Neighborhood information 214 may be maintained in a database, flat file, routing table, or other suitably organized volatile or non-volatile storage within the node 200. The neighborhood information 214 generally supports the creation and maintenance of the MANET as well as routing functions of each MANET node. Within the MANET, each node may interact with other nodes to autonomously identify and maintain local network connections, shift capacity, dynamically form routes throughout the network, and so on. The routing functions of the node (as supported by the neighborhood information 214) may accommodate delay-sensitive (e.g. voice) traffic, delay-tolerant traffic with quality of service (QoS) prioritization, and so on.

The neighborhood information 214 may include an identification of neighboring nodes along with information relating to those nodes. This may include one-hop neighbors (i.e., neighboring nodes in direct wireless communication with the node 200), two-hop neighbors (i.e., neighboring nodes that communicate with the node 200 through only one other node), or any other nodes or participants within the MANET. In one aspect, neighborhood information 214 includes link quality information for the radio 208, which may be obtained from any combination of physical layer and data link data, and may be employed to adapt the data rate of communications according to currently present channel conditions. The neighborhood information may also include QoS data used to select next hops for QoS data. Other useful information may include bandwidth utilization, node weights, node position (either logical or physical), and queue latency for each QoS type and/or other priority type.

In one aspect, the neighborhood information 214 may be gathered during periodic exchanges (such as during control transmissions) with neighboring nodes, which may occur under control of the link manager of the data link 204. For example, the node 200 may determine output bandwidth (i.e., data transmit requirements) for each link that the node 200 has with a neighbor, and may transmit this to one-hop neighbors. Similarly, the node 200 may receive output bandwidth from each one-hop neighbor. Using this data, each node 200 may further calculate its own input bandwidth (i.e., data receive requirements) from each link to a neighboring node, and this information may in turn be exchanged with one-hop neighbors. Following a system-wide exchange with one-hop neighbors, the node 200 (and every other node in the MANET) may calculate a node weight that represents relative output requirements for the node 200. For example, the node weight, W, may be calculated as:

$\begin{matrix} {W = \frac{{BW}_{out}}{{BBW}_{out} + {BW}_{i\; n}}} & \left\lbrack {{Eq}.\mspace{14mu} 1} \right\rbrack \end{matrix}$

where BWout is the total output or transmit requirements for each link of the node 200, and BWin is the total input or receive requirements for each link of the node 200. Finally, the node 200 may transmit the node weight to each neighboring node, and may in turn receive a node weight from each neighboring node. It will be appreciated that the node weight, W, may be further processed for use with other neighborhood information 214, such as by limiting the value according to the number of bits used for control information, or by providing a supplemental adjustment to the node weight to further refine control of routing or other MANET functions. Sharing of information for maintenance of the neighborhood information 214 may be controlled, for example, by the data link 204, which may apply any suitable technique to determine when to share information with one hop neighbors. In one aspect, the data link 204 may transmit data whenever a change is detected in the MANET such as an addition or deletion of a node.

As noted above, any of the neighborhood information 214, routing information 212, and/or data queue(s) 210, as well as status or other information concerning any of the foregoing, may usefully be shared among the nodes participating in a network, and all such information is intended to fall within the meaning of metadata as that term is used herein.

In another aspect, for a MANET that has location-aware nodes 200 (e.g., using Global Positioning System (GPS) data, signal strength data, and so forth), the neighborhood information 214 may include position data in order to support location-based routing and the like.

Having described a MANET 100 in general terms, the description now turns to a more detailed treatment of a waveform for initiating network communication, along with related signal and packet structures, methods, hardware, and the like.

FIG. 3 shows a transmission packet for communicating in a wireless network. The transmission packet 300 may contain an overhead block 302 and a plurality of forward error corrected (“FEC”) blocks 304. In some implementations, an overhead block 302 is followed by three or seven FEC blocks 304, although in general any number can be used. As described more fully below, an overhead block 302 is sent as an initial transmission from one node, such as any of the nodes described above, to another. The overhead block 302 may be used to send preliminary information characterizing the FEC blocks 304 that follow it, as well as to provide information for performing initial calibration pertinent to the communication channel such as equalization or the like. The FEC blocks 304 may contain (in a suitably modulated format) the substantive data that is to be transmitted from the node.

As used in this document, the term “FEC block” is used as a label of convenience to distinguish FEC blocks 304 (that is, blocks that handle the data and/or payload of a transmission) from overhead blocks 302 (that is, blocks that handle headers and/or metadata of a transmission). However, an error correcting code can be applied to the overhead blocks 302 without departing from the techniques disclosed below. Similarly, the techniques disclosed below are applicable even if no error correcting code is applied to an FEC block 304.

FIG. 4 shows an overhead block. The overhead block 302 may include any number of smaller data blocks including, for example, a guard time block 306 (repeated twice), an automatic gain control (“AGC”) block 308 (repeated twice), a first preamble sequence 310, four self-discovery data blocks 312, and a second preamble sequence 314.

The guard time block 306 may contain any data. In some embodiments, the guard time block 306 contains no data. The guard time block 306 may allow calibration of node-to-node timing, or correction of errors due to, e.g., transmission time of flight.

The AGC block 308 may be used to perform automatic gain control calibration at the receiver. In some implementations, the AGC block 308 contains the same data as the preamble 310.

The preamble sequence 310 may be constructed using a generalized chirp-like (“GCL”) sequence. For purposes of this disclosure, a GCL sequence is of the form:

$\begin{matrix} {{\begin{matrix} {{S_{u}(k)} = {\exp\left\lbrack {{- }\; 2\pi \; {u\left( \frac{k\left( {k + 1} \right)}{2N_{G}} \right)}} \right\rbrack}} & {\left( {k\mspace{14mu} {odd}} \right);} \end{matrix}{and}}\begin{matrix} {{S_{u}(k)} = {\exp\left\lbrack {{- }\; 2\pi \; {u\left( \frac{k^{2}}{2\; N_{G}} \right)}} \right\rbrack}} & {\left( {k\mspace{14mu} {even}} \right),} \end{matrix}} & \left\lbrack {{Eq}.\mspace{14mu} 2} \right\rbrack \end{matrix}$

where u and N_(G) are coprime.

In this formulation, u is an integer variable (between 1 and N_(G)−1) called the class parameter. This variable allows up to φ(N_(G)) orthogonal preamble sequences to be used by different nodes within a MANET, or within a neighborhood of a MANET, where φ is Euler's totient function. While this approach may not guarantee that nodes can transmit preambles without collision, N_(G) may be selected with a value sufficiently large relative to the number of nodes in a neighborhood to provide a significant statistical likelihood of collision-free transmissions. The variable k is an integer time index or sample number, and increments from 0 to L_(s)−1 in order to produce a preamble sequence having a length (or number of samples) of L_(s). The number of samples and the number of classes may depend upon a variety of factors. In one implementation L_(s) equals fifty and N_(G) equals twenty five.

The preamble sequence described above provides a variety of useful properties for implementing a MANET node. Radio and signal processing complexity may be significantly reduced by selecting a perfect square value for N_(G). The GCL sequence described above possesses the property that the magnitude of the cross correlation of two such sequences is an impulse of magnitude N_(G) ^(−1/2), referred to herein as an ideal cross-correlation property. Additionally, the circular autocorrelation of any such sequence is an impulse with amplitude N_(G), referred to herein as an ideal autocorrelation property. As a consequence of the ideal autocorrelation property, the preamble sequence will be orthogonal to a time-shifted copy of itself In addition, the GCL sequence has even symmetry in its real and complex parts. This symmetry can be exploited to speed correlation computations by limiting such computations to a fundamental domain, and extending the result by symmetry.

A single preamble sequence for all nodes can be used. Alternatively, the preamble sequence used by a particular node can be chosen to correspond to that node. For example, where the preamble is constructed using a GCL sequence, the class parameter u—and thus the preamble sequence—can be chosen to correspond to a node. For example, u can be set equal to the node's ID, reduced modulo N_(G). Since preamble sequences satisfy the ideal correlation property for different values of u, arranging for different nodes to correspond to different preambles reduces the amount of interference (and chances of a collision) if two nodes are communicating within range of each other.

In some implementations of the overhead block 302, the first preamble sequence 310 may be the complex conjugate of the second preamble sequence 314. By repeating the second preamble sequence 314 at the end of one or more FEC blocks 304, i.e., bounding each FEC block 304 with the second preamble sequence 314, a circular correlation with the preamble sequence may yield a window (using e.g., envelope detection, low pass filtering, and a sharpening filter) in which a data packet of the FEC block 304 can be located. By using a complex conjugate for the first preamble sequence 310, the chances of falsely detecting a data packet within the overhead block may be reduced.

A self-discovery block 312 may contain data that describes signal characteristics. Generally, signal characteristics are descriptions of the data and/or waveform that are to follow the overhead block 302. Such characteristics may for example include signal format characteristics, network characteristics, content characteristics, or any other useful signal characteristics.

Signal format characteristics include data that defines the physical properties of the waveform(s) carrying a data signal in order to demodulate the waveform (e.g., in its analog (or sampled) radio frequency form) into the data signal (e.g., in a digital form). This may be, for example, a specification of a frequency, a channel (or sub channel), a transmit time slot number or duration and so forth. This may also include a selectable transmit mode, which may specify one of a number of possible modulation formats such as binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), quadrature amplitude modulation using, e.g., 8 symbols (QAM-8), 16 symbols (QAM-16), 32 symbols (QAM-32), or 64 symbols (QAM-64) or any other modulation formats suitable for the radio hardware used within a MANET. The signal format characteristics may also, or instead, specify other modulation characteristics such as forward error correction, interleaving, or any other variable aspects of a particular modulation scheme. This may also include data useful in improving signal detection such as power levels, signal strength, and so forth.

Network characteristics may include any information about the topology and status of the network or the node's position in the network. This may include conventional header information such as a source ID, a destination ID, traffic type, and so forth. This may also include information such as an indication of network congestion, multipath affects, distance to a backhaul access point, route cost (using any suitable metrics), a backhaul access point domain indication, data rate indication, a broadcast/unicast indicator, the number of MANET hops to a time reference, and so forth. This may also include information used in maintaining neighbor tables and the like such as neighbor ID's, two hop neighbor information, link quality indicators, queue sizes, and so forth. This may also include any other information that might be used by a node including, e.g., metrics used in route cost calculations, neighborhood updates, data requirements, quality of service information, and so forth.

Content characteristics include information pertinent to the recovery of the data content from the data signal, including logical properties of the data signal. For example, this includes information pertinent to re-assembling data from disparate blocks (see step 404 below) such as sequence numbers for segmentation and reassembly (SAR) and a last fragment indicator, parent packet sequence number, and any other information that might appear, e.g., in a packet header or control data.

One function of self-discovery information is to permit dynamic use of available bandwidth by permitting a node to determine and then select for use any suitable transmission characteristics, such as data rates, modulation formats, and the like. By signaling this information to a receiving node with one or more preamble sequences, the receiving node can accurately extract data signals from a series of FEC blocks 304 without any a priori information about the nature of the original modulation (except, of course, as required to detect and interpret the self-discovery block(s) 312). More generally, self-discovery information may include any information necessary or helpful in demodulating FEC blocks 304, maintaining the MANET, or otherwise supporting operation of a node or nodes.

FIG. 5 shows an FEC block. The FEC block 304 may include a plurality of data sections 316. Each data section encodes data that is transmitted from one node to another in the MANET. Such data may be encoded using a forward error correcting code, thereby allowing for the correction of a particular amount of errors at the receiver, with no further communication with the transmitter being required. In some implementations, the error correcting code is a convolution turbocode (“CTC”) from Xilinx that implements the IEEE 802.16e standard. It will be understood that the various blocks in FIGS. 3-5 may represent data at a sending node (either in memory or at the radio) before it is transmitted, propagating as a signal through an air interface, at a receiving node (either at the radio or in memory) after it is received, or some combination of these, and no particular medium or embodiment for the transmission packet or components thereof should be inferred unless explicitly stated or otherwise clear from the context.

FIG. 6 is a flowchart for transmitting data from a node in a MANET. The transmission process 600 begins by reading data to be transmitted from a data source (step 602), such as the data source 202 described above. The amount of data that is read in step 602 may depend on the data to be transmitted and/or the transmission packet size, which in turn depends on factors such as the modulation type and error correction type employed. The signal processor 204 may perform or coordinate the reading function.

In step 604, the data is encoded using forward error correction, such as a convolution turbo code that implements the Institute of Electrical and Electronics Engineers (“IEEE”) 802.16e standard, Reed-Solomon coding, Tomlinson-Harashima precoding, and any combination of these. More general, a variety of forward error correction techniques are known in the art including block coding, convolutional coding, and combinations of these, any of which may be suitably adapted for use in forward error correction as described herein. It will further be appreciated that forward error correction may be employed at multiple layers (in the network protocol stack sense) of a node. Thus for example simple least significant bit coding may be employed at the physical layer, while other techniques described herein may be employed at, e.g., the MAC or data link layer within a node. Additional data to implement the forward error correction (e.g., correction codes, coefficients, and other input data besides the to-be-encoded data itself) may reside in a data store such as the network data 206, the data sources 202, or elsewhere.

In some implementations, the data may also be interleaved across multiple frequency segments or time slots, such that a single portion of pre-encoded data is partially described in each of several distinct FEC blocks 304, some of which may even reside in distinct data packets 300. Step 604 also encompasses this interleaving, if used. In some embodiments, the signal processor 204 performs step 604

In step 606, a preamble sequence and self-discovery data are identified. In this document, the word “identify” is intended to be interpreted broadly, and includes computing or otherwise generating information, as well as obtaining already-generated information from another process or data source.

The preamble sequence may be a single “global” sequence for use by each node in the MANET. Alternatively, the preamble sequence may be one of several possible sequences identified based on a correspondence to the transmitting node. For example, in embodiments using GCL sequences as described above, the transmitting node ID may be reduced modulo N_(G) to select a class parameter u that defines the preamble sequence. The decision whether to use a global sequence or a node-specific sequence can be based on the number of nodes in range of a particular node, failure rate of properly identifying preamble sequences in the past, or other factors that relate to anticipated or actual conditions within a neighborhood or MANET.

The self-discovery data may include any information characterizing radio conditions, channel conditions, signal formats, and so forth as generally discussed above. For the signal format, any applicable modulation type may be identified in step 606. Such modulation types or “modes” may include binary phase-shift keying (“BPSK”), quadrature phase-shift keying (“QPSK”), or quadrature amplitude modulation (“QAM”), each of which may include multiple data rates and, as in the case of QAM, variable sized constellations of symbols used to transmit data. The modulation type may be chosen according to a variety of factors based preferences of speed of communication vs. reliability, as well as any other conditions such as channel conditions for each communication link. For example, in noisy channels a more robust modulation may be used with a lower data rate. In some embodiments, a relatively robust modulation (such as QPSK) may be chosen for the overhead block 302, while a less robust (but higher capacity) modulation is chosen for FEC blocks 304. The signal processor 204 may identify the modulation type(s) autonomously or in communication with neighboring nodes.

At step 608, the FEC-encoded data and the self-discovery data is modulated according to the modulation(s) identified in step 606. In some embodiments, the digital signal processor 204 modulates this data.

In step 610, the (modulated) overhead block 302 is written or transmitted. It can be written to a temporary storage area where it awaits transmission by the radio 208, or it can be simply transmitted directly by the radio 208. Similarly, the FEC block(s) 304 are written or transmitted in step 612. In some implementations the waveform for transmitting the FEC blocks is chosen to be orthogonal to the preamble sequence(s). This condition is optimal for allowing an overhead block 302 to be transmitted at a higher power level than an FEC block 304.

FIG. 7 is a flowchart for receiving data at a node in a MANET. The first step of the receiving process 700 is to receive an overhead block 302 as an initial transmission (step 702). From within the overhead block 302, the preamble sequences are identified (step 704).

In step 706, slot timing is established. In some embodiments, this is accomplished by measuring the duration of a preamble sequence transmission and comparing it to a standard. To the extent that the received preamble sequence differs in duration from the standard, the slot timing can be linearly adjusted accordingly based on the ratio of the measured duration to the standard duration. Other suitable techniques are known and may be employed instead of or in addition to the foregoing, including techniques that rely on external time sources (such as GPS, WiMax, or cellular timing sources) or MANET-centric time sources (such as synchronizing oscillators among nodes). Regardless of the approach employed, the signal processor may determine slot timing and, in certain circumstances, identify a particular time slot during which a node will receive data.

In step 708, channel impulse response is identified based on the preamble sequence. The impulse response may be identified using the correlation properties of the preamble sequence. For example, the autocorrelation of the received preamble sequence can be computed and compared to an expected result. Alternatively, the cross-correlation of the received preamble sequence can be computed with respect to a standard preamble sequence, and compared to an expected result. In either case, deviations from the expected result can be used to adjust equalization coefficients (step 710) used at a receiving node to decode data. Any suitable equalization technique(s) may be employed to obtain the time domain equalizer impulse response, such as a least squares minimization based on the filter mask (e.g., a root raised cosine or RRC filter), the GCL sequence, and the estimated noise floor. In general this equalization may adjust phase and/or amplitude distortions within a communication channel to improve the quality of received data such that the actual decoded result is brought into closer agreement with the data signal transmitted from another node.

In step 712, the self-discovery blocks 312 are read from the overhead block 302. These blocks may be identified as following the first detected preamble sequence, and decoded using any suitable techniques into self-discovery data or information. As a consequence, the signal characteristics of the coming FEC blocks 304 can be identified. Having identified these characteristics, the receiver can (among other things) receive the FEC blocks (step 714) on the proper channels/sub-channels, with the proper signal format, in the proper time slot(s), etc.

In step 714, the received FEC blocks 304 are demodulated. The proper demodulation formats are known from the self-discovery data received in the previous step. Similarly, if the self-discovery data so indicates, the demodulation step may also include a re-assembly step, if data was originally interleaved across various sub-channels or time slots.

Thus there is described herein a waveform useful for communications between nodes in a MANET, as well as systems and methods for implementing same. It will be appreciated that the techniques described herein may more broadly be employed in any context where signal characteristics and the like might be usefully transmitted to a receiver immediately in advance of a data signal, and all such uses of the techniques described herein are intended to fall within the scope of this disclosure.

It will be appreciated that any of the above systems, apparatuses, devices, methods, processes, and the like may be realized in hardware, software, or any combination of these suitable for the communications, control, data acquisition, and data processing described herein. This includes realization in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices, all referred to generally as processors herein, along with internal and/or external memory such as read-only memory, programmable read-only memory, electronically erasable programmable read-only memory, random access memory, dynamic random access memory, double data rate random access memory, Rambus direct random access memory, flash memory, and/or any other volatile or non-volatile memory for storing program instructions, program data, and program output or other intermediate or final results. This may also, or instead, include one or more application specific integrated circuits, programmable gate arrays, programmable array logic components, or any other device or devices that may be configured to process electronic signals, also referred to generally as processors. It will further be appreciated that a realization of the processes or devices described above may include computer-executable code created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software. At the same time, processing may be distributed across devices such as network nodes and/or computers and/or servers and/or other remote processing resource in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device. All such permutations and combinations are intended to fall within the scope of the present disclosure.

In other embodiments, disclosed herein are computer program products comprising computer-executable code or computer-usable code that, when executing on one or more computing devices, performs any and/or all of the steps described above, or more specifically in the context of mobile ad hoc network nodes, a computer readable medium bearing instructions for wireless communication that, when executed, cause a node in a mobile ad hoc network to perform the recited steps. The code may be stored in a computer memory, which may be a memory from which the program executes (such as random access memory associated with a processor), or a storage device such as a disk drive, flash memory or any other optical, electromagnetic, magnetic, infrared or other device or combination of devices. In another aspect, any of the processes described above may be embodied in any suitable transmission or propagation medium carrying the computer-executable code described above and/or any inputs or outputs from same.

While the invention has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention is not to be limited by the foregoing examples, but is to be understood in the broadest sense allowable by law. 

1. A method of communicating from a node in a mobile ad hoc network comprising: identifying a preamble sequence that corresponds to the node, wherein the preamble sequence is constructed to be orthogonal to other preamble sequences corresponding to other nodes of the mobile ad hoc network, wherein the preamble sequence has an ideal auto-correlation property, and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; identifying self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to a second node; and transmitting the preamble sequence followed by the self-discovery data to the second node in an initial transmission.
 2. The method of claim 1 wherein the signal characteristic includes one or more of a signal format characteristic, a network characteristic, and a content characteristic.
 3. The method of claim 1 further comprising transmitting a second preamble sequence to the second node after transmitting the self-discovery data and before transmitting the data signal.
 4. The method of claim 3 wherein the second preamble sequence is a complex conjugate of the preamble sequence.
 5. The method of claim 1 further comprising transmitting the data signal after the initial transmission.
 6. The method of claim 5 wherein the preamble sequence is orthogonal to the data signal.
 7. The method of claim 5 further comprising transmitting the preamble sequence at a higher power level than the data signal.
 8. The method of claim 5 wherein the initial transmission includes a guard time block and an automatic gain control block.
 9. The method of claim 8 wherein the initial transmission consists of a plurality of guard time blocks, a plurality of automatic gain control blocks, the preamble sequence, the self-discovery data, and a second preamble sequence.
 10. The method of claim 5 further comprising: transmitting the initial transmission and the data signal on a first frequency segment; transmitting a second initial transmission including a second preamble sequence and second self-discovery data and a second data signal, wherein the second initial transmission and second data signal are each transmitted on a second frequency segment, and wherein both the self-discovery data and the second self-discovery data include instructions for combining the data signal and the second data signal.
 11. The method of claim 1 wherein the preamble sequence includes a generalized chirp-like sequence.
 12. The method of claim 11 wherein the generalized chirp-like sequence is of the form: S_(u)(k)=exp[−i 2πu k(k+1)/2N_(G)] for k odd and S_(u)(k)=exp[−i 2πu k²/2N_(G)] for k even, where i²=−1, and u, k, and N_(G) are integers and u and N_(G) are coprime.
 13. The method of claim 12 wherein N_(G) is a perfect square.
 14. A method of communicating from a node in a mobile ad hoc network comprising: identifying a preamble sequence that is used at a plurality of nodes of the mobile ad hoc network, wherein the preamble sequence is constructed to be orthogonal to any time-shifted copy of itself, wherein the preamble sequence has an ideal auto-correlation property, and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence; identifying self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to one of the plurality of nodes; and transmitting the preamble sequence followed by the self-discovery data in an initial transmission.
 15. A method of receiving a wireless communication comprising: receiving an initial transmission at a node in a mobile ad hoc network, the initial transmission including a preamble sequence corresponding to a second node in the mobile ad hoc network, wherein the preamble sequence is constructed to be orthogonal to other preamble sequences that correspond to other nodes of the mobile ad hoc network; wherein the preamble sequence has an ideal auto-correlation property; and wherein the preamble sequence is symmetric in both a real part of the preamble sequence and a complex part of the preamble sequence, the initial transmission further including self-discovery data that encodes a signal characteristic with which a data signal will be transmitted to the node; and based on the signal characteristic, receiving the data signal.
 16. The method of claim 15 further comprising using the preamble sequence for a channel equalization.
 17. The method of claim 16 wherein the channel equalization includes estimating a channel impulse response.
 18. The method of claim 16 wherein the channel equalization includes computing equalization coefficients.
 19. The method of claim 15 further comprising detecting packets based upon the preamble sequence.
 20. The method of claim 15 further comprising channel sounding with the preamble sequence. 21-70. (canceled) 